home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-04
/
msh20.zip
/
MSHFILES.ZIP
/
USERMAN.DOC
< prev
next >
Wrap
Text File
|
1992-03-26
|
25KB
|
648 lines
MI-SHELL
The Programmable DOS Shell
Introduction
Whether you are a Power User or a first time computer user,
Mi-Shell is one of the best tools you can have to manage your
files and speed your work. With Mi-Shell keeping track of where
you are within DOS, executing your most often used programs becomes
point and shoot Mi-Shell remembers the details for
you.
For the Power User, Mi-Shell is fully programmable through its configuration
script language, and can be customized to perform specialized tasks
with a single key stroke (or mouse click), to recognize the correct
program to be executed when you point and shoot on a data file, and
to do so with specific preset parameters. Single function systems
Desktop Publishing, Word Processing, Programming/debugging/compiling
can exploit the power in Mi-Shell to speed operations, and standardize
how files are stored in the working environment.
For the first time computer user, Mi-Shell provides a quick, clear
way to get working on the computer without learning any DOS commands.
Nothing is more frustrating for a beginner than the blinking cursor
at the DOS prompt leaving you asking now what?
What is a Shell?
A Shell is a program from which other programs are run.
It makes it easier and more convenient to run these other programs.
Besides the DOS prompt from which any command can be typed in the
usual DOS fashion, it provides you with sets of menus and with information
on your current directory (and usually on an other directory). It
allows you to execute DOS and other individual programs with function
keys, or with single key strokes.
In many instances, the Shell provides directory panels of information
directories of files, status of disk drives, time of day, etc.
a menu that reminds you of functions assigned to function keys,
and a command line for instructions that will be acted
on when you press the 'Enter' key.
The default Mi-Shell screen
The top two lines are the top menu, reminding you of the
function of the F keys, plain or shifted. In the top right corner,
the X is a reminder that swapping to XMS is on, and serves as a menu as well.
Below that, there are two directory panels, one with a wide display
sorted by time and the other with a narrow display, sorted by extension.
On the right, you have a drive menu which makes it very easy to change
drives. Finally, at the bottom, you have a (simulated) DOS prompt.
Mi-Shell has two different parts: MSH.EXE and CONFIG.MSH.
MSH.EXE is a compiled program which reads the ASCII file CONFIG.MSH
and behaves according to the definitions that it finds therein. CONFIG.MSH
is a program, written in Mi-Shell script, and in turn, calls some
other *.MSH files which can be thought of as its subroutines.
While we provide a default CONFIG.MSH, and describe it at length,
it is only one possible choice out of millions. With time, you will
modify it, turning Mi-Shell into my shell.
Quick-Start:
Installing Mi-Shell on your system
Mi-Shell on the distribution diskette is compressed to
save space, and is not copy protected. You should always make a copy
of the distribution disk. You can use DISKCOPY with DOS
or any other utility that will copy all the programs from the distribution
disk to your working diskette.
Then, use the working diskette to install the program on
your hard disk into a sub-directory that is on your path.
We recommend that a separate MSH sub-directory be created
md \msh
that you go there
cd \msh
and the packed program be expanded into that sub-directory
a:mshzip
The MSHZIP.EXE which is on your distribution diskette is a self-extracting
file that will expand to reveal all the necessary program parts for
Mi-Shell to operate on your system.
When you examine the sub-directory, you will find MSH.EXE, the Mi-
Shell program. The MSH.EXE program needs a configuration file
CONFIG.MSH which contains all the instructions that Mi-Shell
will follow. Please follow the instructions in the READ.ME file on
modifying CONFIG.MSH for your PC.
The default configuration.
To start Mi-Shell, run 'MSH.' The top half of your display
will reveal the TOP MENU containing labels for the major functions;
a set of DIRECTORY PANELS displaying directory and file information;
and the COMMAND LINE with the familiar DOS Prompt.
The TOP MENU commands at your finger tips
The initial configuration script contains many commands ready for
you to use. The TOP MENU has tags and reminders for the groups of
commands that can be executed, which reveal added menu windows with
specific commands. Each of these will be discussed in some detail
later, but several will help you quickly become familiar with Mi-Shell
and its operation.
F1 is the HELP key with a menu that leads to a brief explanation
of the common commands (those using Ctrl and Alt keys) used in the
default configuration of Mi-Shell. F1 also has a couple of tutorials
you should consider running before anything else. We suggest that
at this point you go through the introductory tutorial. This sequence
of examples shows you the major features of Mi-Shell, directly on-screen.
General rules about menus
Anytime you find yourself in the wrong menu, the ESC key will safely
back up to a previous point where you can move forward to where you
want to be. When you have highlighted your menu choice, a mouse click
or an ENTER will activate that choice showing you the next menu
or performing the task requested. If using a mouse, you can double
click on one of the choices to activate that choice, or click outside
the menu to Escape from the menu (if you click on a spot which has
a meaning in an other menu or directory, that action will then be
performed).
F10 is the QUIT command allowing you to leave Mi-Shell,
and remove it from memory. The other way out is Ctrl C which
will work in all cases, even when CONFIG.MSH has a major problem.
DIRECTORY PANELS file information at your finger tips
Below the top menu there are two or three DIRECTORY PANELS which contain
directory and file names (and other file and directory information).
Each PANEL can be controlled separately. The active PANEL is indicated
by the presence of a highlight or reverse video in the DIRECTORY PANEL,
and the DOS prompt on the COMMAND LINE shows the full pathname of
the directory which is active.
At the top-left of the Directory panel, at the boarder, is the path-name
or naming pattern of what is displayed in the PANEL.
Changing to the next directory panel
The Tab key allows you to move between DIRECTORY PANELS. If
there are three or more directory panels, Tab will move to the
right one PANEL. If the most right PANEL is active, Tab will
next activate the left-most PANEL. Shift Tab moves in the opposite
direction.
The COMMAND LINE linking to DOS
The bottom line of the Mi-Shell screen you will recognize as the COMMAND
LINE with the familiar DOS prompt. When Mi-Shell is displayed, any
alpha-numeric keys you type will appear on the COMMAND LINE, while
Function, Shift F keys, Alt and Ctrl key combinations
will be evaluated by Mi-Shell and its configuration script to see
if any action is defined. If no action is defined, you will see a
message window letting you know.
When you type a DOS command on the COMMAND LINE, and then the ENTER
key, Mi-Shell will generally pass the command directly on to the computer.
Mi-Shell: The default configuration
The function keys
F1 (or CtrlH) calls for a Help menu and its sub-menus
and tutorials.
ShiftF1 brings up a copy of the "ASCII" table of symbols
and their numeric representation. When you are building a screen display
with screen graphics characters and other symbols or if
you are debugging a program and need to know what the hex or octal
code represents on screen, this table will be invaluable.
CtrlF1 displays a list of the Mi-Shell language primitives.
Their definitions can be found in the Reference Manual.
AltF1 displays a list of the Standard Definitions for
Mi-Shell. Their definitions can be found in the file STDDEFS.MSH
F2 is the select key. The purpose of selecting a bunch
of files is to later apply some function to all of them. When you
are pointing to an item, F2 will mark the item as selected, or deselect
it if it is already selected.
ShiftF2 asks whether the files selected in the current
panel would fit if you tried to copy them to the other panel. This
is done with The Berkeley Utilities command ls. For instance,
ls file1 file2 file3 -Ub
asks whether the 3 files file1, file2 and file3 would fit
on the b drive.
F3 invokes the built-in viewer, called Pager. It allows
you to quickly look at but not change the current item,
whether you need to decide if it is the file you want, or simply need
some piece of information from it. You can use your own browser, but
since it will be an external program, it will be slower.
ShiftF3 displays a hex dump of the file currently pointed
to in the current directory. This is done with The Berkeley Utilities
command od, which stands for octal dump:
od -ch file1
will display a hex dump of file1.
CrlF3 invokes an external browser capable of browsing
through several files at once, like more from The Berkeley Utilities.
F4 invokes the defined "Editor." This must be an external
program. "MWE" is provided with Mi-Shell, but you may change the definition
in CONFIG.MSH to use brief, WordStar, vi, or any other "Editor" you
wish.
ShiftF4 toggles between a one-line and a two-line top
menu at the top of the screen. The two-line menu focuses on the 10
F-keys and their Shifted values, while the one-line menu groups the
possible actions into functional groups: Help, File, View/edit, mIsceallaneous,
Whereto, Panel and Quit. Each of these generates a further menu when
invoked (either by a mouse click left, or a Ctrl- followed by the
Capital letter in the key word). Therefore, you will find a description
of these menus below under CtrlH (or F1), CtrlF, CrlV, CtrlI, CtrlW
(or ShiftF9), CtrlP and CtrlQ (or F10).
F5 is the "Copy" key, which will copy the current or
selected file(s) to the drive and directory in the next panel. If
you do not have the Berkeley Utilities, the DOS command "copy" is
used, while if you do, you may or may not use the "cp" command.
ShiftF5 is a quick built-in function that captures a
copy of the screen to an ASCII file called "Junk.Scr." Naturally,
you can change the name of the file written from "Junk.Scr" to anything
else you want.
F6 is the "Move" key, which works like "copy" except
it deletes the source file after the copy is made.
ShiftF6 displays a directory listing and hides (almost)
all the permanent windows to let you examine it. This is done simply
with The Berkeley Utilities command ls, followed by the script
hide_all described under F7.
CtrlF6 will bring up the Mandelbrot menu, with 2 choices,
one where you create a new picture, and the other where you display
the last picture created. They invokes two free programs from OPENetwork,
MANDEL.EXE and SHOWPIC.EXE which respectively create and display subsets
of the Mandelbrot set.
F7 is for your own menu. When you have created one,
it will appear here.
ShiftF7 gives you a small menu of often used DOS disk
utilities. "chkdsk" will examine the current disk for lost clusters
among other things; and the menu provides for formatting a disk as
bootable or data only.
CtrlF7 brings up the game of life, another free program
from OPENetwork.
F8 lets you "Delete" the current file or all the ones
selected.
ShiftF8 will ask DELTA to compare the file being
pointed to in the current directory to the file being pointed to in
the other directory. This could easily be achieved by typing
delta file1 file2
if you own DELTA, a very powerful and intuitive directory
and ASCII file comparison tool from OPENetwork.
F9 calls the defined "editor" and loads the present
configuration file, "config.msh," so that you can make changes. It
is strongly suggested that you make a copy of the default file
to a new name before doing major changes. After you finish the
modifications, the changed "config.msh" is reread into Mi-Shell, so
the new configuration is available and active.
ShiftF9 (or CtrlW) was inspired by Norton's excellent
program NCD (Norton Change Directory). It assumes that CONFIG.MSH
has the correct value for the variable fixed_drives and that you have
The Berkeley Utilities. It brings up a menu with 2 choices: ``going
somewhere'' or ``refreshing the tree''. The second choice runs a batch
file called MAKETREE.BAT, which uses several Berkeley Utilities to
create a file called TREE. The file simply contains every subdirectory
available to you on all your fixed drives. The first choice asks you
where you want to go, then looks for the string you type in the file
TREE, and, if it finds it, takes you there. This (possibly) fuzzy
search is done with one of The Berkeley Utilities, grep (grab
regular expression and print).
CtrlF9 gives you the statistics on the current file
such as size, and date and time of last modification.
AltF9 gives you a report on the present time and date
in a message window.
F10 (or CtrlQ) is the normal way to quit MSH. You are
offered a choice to just quit or to save your command stack (all the
commands you have typed in your Mi-Shell session) in a file called
CMD.LST before quitting (CtrlC is the other way to quit).
ShiftF10 toggles the swap menu. When swapping is enabled, Mi-Shell
will swap itself out of RAM, leaving occupied less than 8K of memory
of the first 640K. This is essential for programs that
need lots of memory like Xerox Ventura. When the application program
is finished, Mi-Shell reinstalls itself as you left it.
CrlF10 invokes REBOOT1.COM, a small utilty which will
reboot your PC when run.
ALPHA KEYS
CtrlA writes the files selected in the current directory
on the command line, with a blank space between each name at the point
where the cursor is. If the cursor is in the middle of the command
line, the files will either overwrite or insert, depending on whether
you are in overwrite or insert mode (the Insert key toggles that).
CtrlB takes you immediately to the beginning of the
directory panel. If you have many files in the sub-directory, and
you need to get to the "top" quickly, this function keeps you from
having to use PageUp many times to get to the top. The complementary
function is CtrlPageDown to take you to the bottom of the panel.
CtrlC is a built-in function of Mi-Shell for interrupting
out of Mi-Shell and returning to DOS. Why do you need it when F10
already takes you out? If you have modified some MSH files, and all
hell breaks loose, this is the way out.
CrlD is a simple way to find out the definition of a
Mi-Shell standard definition. You must type the name on the command
line, like hide_all or exec, then press CrlD. The definition will
appear on the command line where it can be edited, then executed with
AltX. Beware that such a change is only temporary.
AltD toggles the debug mode. When debug is turned on,
you are first shown the stack, and should press s (s is for step through)
to continue. You then perform the action you wish to examine in great
detail, and the debug window appears again. You normally step through
each move, watching the stack as you go. Shifts will let you skip
the details of user-defined functions. You can leave debug mode by
pressing g (for go)
CtrlE makes the current panel twice as tall, given the
ability of your screen to display that number of lines. The complementary
function is CtrlT which Trims the panel to half the number of lines.
AltE sorts the directory panel entries by EXTension,
the portion of the filename to the right of the period.
AltF invokes a very useful routine that first sorts
the directory panel entries by Name, and then locates the first filename
which begins with what you have typed on the command line.
CtrlF invokes the File menu. The possible choices are:
* F2 select
* F5 copy all
* F6 move all
* F8 delete all
* find a string (TBU)
* find a file (TBU)
* zip all selected files
* create a new file in current directory
* print the file being pointed to in current directory
CtrlG activates the drive menu, which lets you change
drives. If the drives shown in this menu do not reflect your computer,
you will have to modify the definition of dmenu in MENU.MSH accordingly.
CtrlH (see F1) Help
CtrlI activates the mIscellaneous menu. The choices
are:
* ShiftF1 ascii table
* CtrlL disk stats
* ShiftF7 DOS commands
* panels stats statistics on the current panel
* ShiftF4 1/2 line top menu
* ShiftF5 capture screen
* ShiftF2 fit on other panel (TBU)
* F9 change configuration
* CtrlF1 list of primitives
* AltF1 list of standard definitions
* ShiftF10 swap menu
CtrlJ places the current filename on the command line
at the cursor. This is often used when a program can be invoked with
a filename as a parameter, to place the filename in the right place
on the command line.
CtrlL asks how much space is used by the current directory
and how much space is left on the current drive. This is done by the
Berkeley Utility ls:
ls -MU
CtrlM is the same as the "Enter" key, except it makes
sure that "Magic" is turned on before executing the program name.
If you do not know how much memory room a new program may need to
run successfully, run it with "Magic" turned on.
AltN sorts the directory panel entries by fileName.
CtrlO removes the top menu and the directory panels
from the screen (leaving the Magic menu in the upper right of the
screen). When you need to see the full screen, this function is essential,
and you have the reminder that Mi-Shell is still there since the "Magic"
menu is visible on the screen.
AltO works like CtrlJ, except that it places the full
pathname of the current file of the Other directory panel on the command
line.
AltP uses the text on the command line as the match
pattern for displaying files in the directory panel. If the command
line is empty the function assumes *.* as the pattern and displays
all files. This means that if you type *.msh on the command line,
then AltP, only the files with an extension of msh will be displayed
in the directory panel.
CtrlR causes Mi-Shell to reread the current directory.
Refreshing the display is indicated after some action which may have
changed the contents of the directory.
AltS sorts the directory panel entries by Size, largest
file first.
CtrlT Trims the height of the directory panel by half
(opposite of CtrlE).
AltT sorts the directory panel entries by date and Time,
most recent first.
CtrlU switches the two directory panels. This is sometimes
useful if you are used to copying files left to right, and find the
target directory on your left. CtrlU will put it on the right with
the source directory on the left.
AltV displays a message window listing the command stack,
current stack pointer on top. If you forget what you have done six
commands ago or so, CtrlV will show you the list and remind you what
commands you can scroll through with the CtrlHome or CtrlEnd keys.
AltW toggles the format of the directory panel entries
between wide and narrow. The wide display shows the Name, Size and
date/Time of the entries. The narrow displays shows three columns
of just Names.
CtrlP activates the Panel menu. The choices are:
* CtrlE Expand
* CtrlT Trim
* CrtlO hide (toggle)
* AltW Wide/narrow toggle
* top/bottom toggle
* CtrlU swap
* CtrlR Refresh
* Sort Panel by . . .
CtrlQ (see F10) Quit
AltR will loop for each of the files selected, applying
what is on the command line to the basename (filename without the
extension) of each of them. More precisely, the basename will be appended
at the end of the command line, which will then be executed, for each
of the files selected.
AltS invokes a special menu called smenu, which you
have to define.
CtrlV invokes the View/edit menu. The choices are:
* F3 view current
* F4 edit current
* edit all selected if your editor allows it.
* ShiftF3 hex dump (TBU)
* word count of all files selected (TBU)
* CtrlF3 browse all selected if your browser allows it (TBU)
AltW (see ShiftF9) Where to ?
AltX eXecutes the command line as a Mi-Shell script.
For instance, typing hide_all on the command line, followed by AltX
will hide (almost) all the permanent menus, or if they already are,
bring them back.
OTHER KEYS
PageUp moves you quickly in the directory panel, up
one "page" in the "Wide" display mode, or one column in the "Narrow"
display.
PageDown moves like PageUp, except in the other direction.
CtrlPageUp jumps from the present directory to the "parent"
directory. Another way to go to the parent is to page up to its entry
(written as "..") and to hit Enter.
CtrlPageDown jumps the current pointer to the bottom
entry of the panel directory.
Home is one of the keys useful in editing the command
line. It moves the cursor to the start of the command line.
End moves the cursor to the end of the command line.
CtrlHome retrieves the most recently used command to
the command line ready for execution or editing.
CtrlEnd retrieves the "next command" the one at
the other end of the stack to the command line.
The UpArrow and DownArrow move the current pointer
up and down in the directory panel.
The LeftArrow and RightArrow move the command
line cursor left and right.
ShiftUpArrow (in the numeric keypad) moves the current
directory panel Up;
ShiftDownArrow (in the numeric keypad) moves the current
directory panel Down.
ShiftRightArrow (in the numeric keypad) moves the current
panel Right.
ShiftLeftArrow (in the numeric keypad) moves the current
panel Left.
Grey+ selects all files, or all files that match the
pattern on the command line, and clears the command line.
Grey- deselects all selected files, or all files that
match the pattern on the command line, and clears the command line.
Grey* activates the top menu. The cursor keys now move
among the menu choices, and the "Enter" key will run the one chosen.
Esc will deactivate the top menu.
Miscellaneous Information:
Mi-Shell was written in C by Jean Michel. Jean spends most
of his time doing research in mathematics at the prestigious Ecole
Normale Superieure of the rue d'Ulm in Paris. In his spare time, he
writes software, collects exotic butterflies and plays Go
(For information about Go, write the AGA, P.O. Box 297, Old Chelsea
Station, New York, NY 10113). Mi-Shell makes use of Curses, the standard
Unix windows library. This DOS implementation of Curses may be marketed
by OPENetwork at some future date.
For Technical Support, OPENetwork maintains a free 24-hour BBS
(718) 638-2239, N-8-1, where you can find out the latest developments
on our business and products.
Mi-Shell's main strength is its programmability. As shipped, it has
been programmed to reflect the habits and tools used by Jean Michel
and by the staff of OPENetwork. Some of these tools are well-known,like
Turbo-C, Xerox Ventura, PKZIP, TeX, The Norton Utilities; some are less
well known and are distributed by OPENetwork:
* The Berkeley Utilities, a set of Unix commands for DOS,
partly written by Jean Michel and partly written by Patrick Merrissert
Coffinieres (another French mathematician and Go champion who is a
full time software developper). The Berkeley Utilities retails for
$200.
* DELTA, a wonderful comparison utility written by John Lowenthal
(a principal of OPENetwork, a professional software developper and
a well-known bridge champion). DELTA retails for $100.
OPENetwork also engages in Neural Research (Stephan Lugert), in Holography
(Ron Erickson), in Go programming (Janusz Kraszek) and in Statistical
Consulting (Jean-Claude Chetrit).